User loginNavigation |
Lang .NET Symposium Registration Now OpenThe day of the beast has passed without any noticeable effect; Bill Gates has announced his retirement and the Microsoft stock actually goes up. The coast finally seems safe for another post on the Lang .NET symposium! Registration for this heavily debated event is now open. I believe that we have a very interesting set of non-Microsoft invited speakers including Gilad Bracha from Sun, William Cook from UT Austin, John Gough from QUT, Miguel de Icaza from Novel, and Shriram Krishnamurthi from Brown; Microsoft folks including Mike Barnett, Gary Flake, Jim Hugunin, Polita Paulus, Don Syme, and Paul Vick; and a fine line-up of submitted papers. Hope to see you all in Redmond this August! What is the Meaning of These Constant Interruptions?Graham Hutton and Joel Wright discuss the semantics of interrupts. Interrupts are important for writing robust, modular programs, but are traditionally viewed as being difficult from a semantic perspective. In this article we present a simple, formally justified, semantics for interrupts.Although I didn't get into the details of the article (though it will probably interest the more astute LtU readers), what got me interested in the article was the correlation drawn between exceptions and interrupts: An important concern in modern programming is exceptions, events that cause computations to terminate in non-standard ways. There are two basic kinds of exceptions: those that arise from inside a computation itself, such as a division by zero, and those that arise from outside a computation, such as a timeout. The former are termed synchronous exceptions, because they can only arise at specific points; for example, division by zero can only occur when performing a division. Dually, the latter are termed asynchronous exceptions, because they can potentially arise at any point; for example, a timeout can normally be received at any time. For simplicity, however, we follow the common practice of referring to synchronous exceptions as exceptions, and to asynchronous exceptions as interrupts.I can't help but think this is related to resumable exceptions that was discussed in the LtU discussion of Common Lisp Exception Handling and Oleg's subsequent implementation in OCaml. That is, aren't interrupts basically a form of asynchronous exceptions that require a resumption mechanism? Scheme2Js
I think Scheme2Js was mentioned in the forum, but I think it might be of more general interest. A nice touch is that Scheme code can use JavaScript variables and functions, and JavaScript code can use Scheme variables and functions (perhaps not as cool as the Javadot notation of JScheme, but mighty useful anyway). Scheme2Js is used in HOP. By Ehud Lamm at 2006-06-17 16:39 | General | login or register to post comments | other blogs | 6275 reads
The Semicolon WarsThe Semicolon Wars A laypeople's introduction to the world of programming languages from American Scientist. Includes some history, a high-level overview of different programming paradigms, some guesses at which differences make a difference, some Dijkstra, and some cheap shots at zealots. Regular LtU readers won't find anything new here, but it's a good article, and it's always nice to see something like this for the general reading public. IFIP WG 2.2 Anniversary MeetingIt looks like this is going to be an interesting meeting. The list of speakers is impressive, of course. Alas, not too many presentation titles are available at the moment. By Ehud Lamm at 2006-06-15 11:25 | General | login or register to post comments | other blogs | 4923 reads
ML Modules and Haskell Type Classes: A Constructive ComparisonML Modules and Haskell Type Classes: A Constructive Comparison
And the conclusions...
Formal verification of a C-Compiler frontend.Sandrine Blazy, Zaynah Dargaye, and Xavier Leroy has written Formal verification of a C-Compiler frontend. Some previous work is already mentioned on LtU here. Abstract: This paper presents the formal verification of a compiler front-end that translates a subset of the C language into the Cminor intermediate language. The semantics of the source and target languages as well as the translation between them have been written in the speci- fication language of the Coq proof assistant. The proof of observational semantic equivalence between the source and generated code has been machine-checked using Coq. An executable compiler was obtained by automatic extraction of executable Caml code from the Coq specification of the translator, combined with a certified compiler back-end generating PowerPC assembly code from Cminor, described in previous work. Technical Work on Ada 2005 Standard CompletedFrom the press release:
The press release includes a brief summary of the new features in the new version of the Ada language. Some of these features were mentioned here before. By Ehud Lamm at 2006-06-12 08:23 | General | login or register to post comments | other blogs | 5043 reads
Inform 7: A relational DSL for interactive fiction with natural language syntaxInform 7 is a radical revision of Graham Nelson's Inform language for interactive fiction (such as Zork). Whereas Inform 6 and its predecessors were (IMO) very low-level languages with a C-like syntax, Inform 7 is a relational language based on natural language syntax and a semantics based on predicate logic. Nelson describes Inform 7 in his usual erudite style, in: Graham Nelson. Natural Language, Semantic Analysis and Interactive Fiction. 2005. The Inform 7 implementation comes with a slick graphical interface (currently available for Mac OS X and Windows), and adopts the metaphor of a book, as indeed do aspects of the language itself. Well worth taking a look at it. (Credit to Peter J. Wasilko, from whose forum post on Human Factors I cherry-picked this link.) A Brief History of ScalaMartin Odersky is blogging |
Browse archives
Active forum topics |
Recent comments
2 weeks 3 days ago
2 weeks 4 days ago
2 weeks 5 days ago
2 weeks 5 days ago
3 weeks 3 days ago
3 weeks 3 days ago
3 weeks 3 days ago
6 weeks 4 days ago
7 weeks 2 days ago
7 weeks 2 days ago